// 定义统一回复中间件
function responseMiddleware(req, res, next) {
    // 替换原始的res.json方法
    const originalJson = res.json;
    res.json = function (data,message = '请求成功') {
      // 统一返回格式
      const response = {
        success: true,
        timestamp: new Date().toISOString(),
        data: data,
        message: message,
      };
  
      // 如果data是错误对象，则调整响应格式
      if (data instanceof Error || (data && data.error)) {
        response.success = false;
        response.message = data.message || '发生了一个未知错误';
        response.error = {
          name: data.name || 'Error',
          message: data.message,
        };
        delete response.data; // 错误时不包含data字段
      }
  
      // 调用原始的json方法发送响应
      originalJson.call(this, response);
    };
  
    next();
  }
  
  module.exports = responseMiddleware;